﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms
{
    public partial class FrmAgregarProv : Form
    {
        public DisancoEntities context;

        public FrmAgregarProv()
        {
            InitializeComponent();
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
            //foreach (Rubros rubro in contexto.Rubros)
            //{
            //    chkList.Items.Add(rubro.rubro_nombre);
            //}
            cmbbProvCondIva.DataSource = context.CondicionIVA;
            cmbbProvCondIva.DisplayMember = "condicion_sigla";
            cmbbProvCondIva.SelectedItem = null;
            context = null;
         }

        void validar()
        {
            string cuit = mtxbProvCuit.Text.Replace("-","").Replace(" ","");

            if ((txtbProvNombre.Text != "") && (cmbbProvCondIva.SelectedItem != null) && (cuit.Length == 11))
                btnGuardar.Enabled = true;
            else
                btnGuardar.Enabled = false;
        }

        private void btnCerrar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
                Proveedores Proveedor = new Proveedores();
                Proveedor.prov_nombre = txtbProvNombre.Text;
                Proveedor.prov_direccion = txtbProvDireccion.Text;
                Proveedor.prov_ubicacion = txtbProvUbicacion.Text;
                Proveedor.prov_localidad = txtbProvLocalidad.Text;
                Proveedor.prov_provincia = txtbProvPcia.Text;
                Proveedor.prov_pais = txtbProvPais.Text;
                Proveedor.prov_cp = txtbProvCP.Text;
                Proveedor.prov_cuit = mtxbProvCuit.Text;

                String CondSigla = cmbbProvCondIva.Text;
                CondicionIVA CondID = context.CondicionIVA.FirstOrDefault(Cond => Cond.condicion_sigla.Contains(CondSigla));

                Proveedor.prov_condicion_iva = cmbbProvCondIva.Text;

                Proveedor.prov_tel1 = txtbProvTel1.Text;
                Proveedor.prov_tel2 = txtbProvTel2.Text;
                Proveedor.prov_telefax = txtbProvFax.Text;
                Proveedor.prov_web = txtbProvWeb.Text;
                Proveedor.prov_contacto_nombre = txtbProvContNombre.Text;
                Proveedor.prov_contacto_tel = txtbProvContTel.Text;
                Proveedor.prov_contacto_email = txtbProvContmail.Text;

                context.AddToProveedores(Proveedor);
                context.SaveChanges();
                DialogResult result = MessageBox.Show("El Proveedor ha sido Guardado con Exito ", "Disanco Sanitarios", MessageBoxButtons.OK);
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }        

        private void txtbProvTel1_KeyPress(object sender, KeyPressEventArgs e)
        {
            Clases.Validar.ValidarNumeros(e);
        }

        private void txtbProvTel2_KeyPress(object sender, KeyPressEventArgs e)
        {
            Clases.Validar.ValidarNumeros(e);
        }

        private void txtbProvFax_KeyPress(object sender, KeyPressEventArgs e)
        {
            Clases.Validar.ValidarNumeros(e);
        }

        private void txtbProvContTel_KeyPress(object sender, KeyPressEventArgs e)
        {
            Clases.Validar.ValidarNumeros(e);
        }

        private void mtxbProvCuit_TextChanged(object sender, EventArgs e)
        {
            validar();
        }

        private void txtbProvNombre_TextChanged(object sender, EventArgs e)
        {
            validar();
        }

        private void cmbbProvCondIva_SelectedIndexChanged(object sender, EventArgs e)
        {
            validar();
        }
    }
}
